home *** CD-ROM | disk | FTP | other *** search
- global gSize, gCast, gVariable, gFirstColor, gSecondColor, gLineSize, gShapeType, myCurrentImage, myCurrentPreview
-
- on toolOutlineShape
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- startX = (the mouseH - sprite(1).left) * 2 / gVariable / 2
- startY = (the mouseV - sprite(1).top) * 2 / gVariable / 2
- myShape = rect(0, 0, 0, 0)
- myStartImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- repeat while the mouseDown
- myCurrentImage.copyPixels(myStartImage, myStartImage.rect, myStartImage.rect)
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, (the mouseV - sprite(1).top) * 2 / gVariable / 2, startX + 1, startY + 1)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) >= startX) then
- myShape = rect(startX, (the mouseV - sprite(1).top) * 2 / gVariable / 2, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, startY + 1)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) >= startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, startY, startX + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- if ((the mouseV - sprite(1).top) * 2 / gVariable / 2) = startY then
- myShape = rect(startX, (the mouseV - sprite(1).top) * 2 / gVariable / 2, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, startY + 1)
- else
- if ((the mouseH - sprite(1).left) * 2 / gVariable / 2) = startX then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, startY, startX + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- myShape = rect(startX, startY, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- end if
- end if
- end if
- end if
- end if
- if (gShapeType = #rect) and ((myShape.width < (gLineSize * 2)) or (myShape.height < (gLineSize * 2))) then
- myCurrentImage.fill(myShape, [#shapeType: gShapeType, #lineSize: 0, #color: gFirstColor])
- else
- myCurrentImage.draw(myShape, [#shapeType: gShapeType, #lineSize: gLineSize, #color: gFirstColor])
- end if
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- put myShape.width.abs into field "dimension status W"
- put myShape.height.abs into field "dimension status H"
- fnUpdatePreview()
- end repeat
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myStartImage = VOID
- myCurrentImage = VOID
- myCurrentPreview = VOID
- put EMPTY into field "dimension status W"
- put EMPTY into field "dimension status H"
- end
-
- on toolFilledShape
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- startX = (the mouseH - sprite(1).left) * 2 / gVariable / 2
- startY = (the mouseV - sprite(1).top) * 2 / gVariable / 2
- myShape = rect(0, 0, 0, 0)
- myStartImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- repeat while the mouseDown
- myCurrentImage.copyPixels(myStartImage, myStartImage.rect, myStartImage.rect)
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, (the mouseV - sprite(1).top) * 2 / gVariable / 2, startX + 1, startY + 1)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) >= startX) then
- myShape = rect(startX, (the mouseV - sprite(1).top) * 2 / gVariable / 2, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, startY + 1)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) >= startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, startY, startX + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- if ((the mouseV - sprite(1).top) * 2 / gVariable / 2) = startY then
- myShape = rect(startX, (the mouseV - sprite(1).top) * 2 / gVariable / 2, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, startY + 1)
- else
- if ((the mouseH - sprite(1).left) * 2 / gVariable / 2) = startX then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, startY, startX + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- myShape = rect(startX, startY, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- end if
- end if
- end if
- end if
- end if
- if (gShapeType = #rect) and ((myShape.width < (gLineSize * 2)) or (myShape.height < (gLineSize * 2))) then
- myCurrentImage.fill(myShape, [#shapeType: gShapeType, #lineSize: 0, #color: gFirstColor])
- else
- myCurrentImage.fill(myShape, [#shapeType: gShapeType, #lineSize: gLineSize, #color: gSecondColor, #bgColor: gFirstColor])
- end if
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- put myShape.width.abs into field "dimension status W"
- put myShape.height.abs into field "dimension status H"
- fnUpdatePreview()
- end repeat
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myStartImage = VOID
- myCurrentImage = VOID
- myCurrentPreview = VOID
- put EMPTY into field "dimension status W"
- put EMPTY into field "dimension status H"
- end
-
- on toolSolidShape
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- startX = (the mouseH - sprite(1).left) * 2 / gVariable / 2
- startY = (the mouseV - sprite(1).top) * 2 / gVariable / 2
- myShape = rect(0, 0, 0, 0)
- myStartImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- repeat while the mouseDown
- myCurrentImage.copyPixels(myStartImage, myStartImage.rect, myStartImage.rect)
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, (the mouseV - sprite(1).top) * 2 / gVariable / 2, startX + 1, startY + 1)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) >= startX) then
- myShape = rect(startX, (the mouseV - sprite(1).top) * 2 / gVariable / 2, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, startY + 1)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) >= startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, startY, startX + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- if ((the mouseV - sprite(1).top) * 2 / gVariable / 2) = startY then
- myShape = rect(startX, (the mouseV - sprite(1).top) * 2 / gVariable / 2, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, startY + 1)
- else
- if ((the mouseH - sprite(1).left) * 2 / gVariable / 2) = startX then
- myShape = rect((the mouseH - sprite(1).left) * 2 / gVariable / 2, startY, startX + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- myShape = rect(startX, startY, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- end if
- end if
- end if
- end if
- end if
- myCurrentImage.fill(myShape, [#shapeType: gShapeType, #lineSize: 0, #color: gFirstColor])
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- put myShape.width.abs into field "dimension status W"
- put myShape.height.abs into field "dimension status H"
- fnUpdatePreview()
- end repeat
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myStartImage = VOID
- myCurrentImage = VOID
- myCurrentPreview = VOID
- put EMPTY into field "dimension status W"
- put EMPTY into field "dimension status H"
- end
-
- on toolStraightLine
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- startX = (the mouseH - sprite(1).left) * 2 / gVariable / 2
- startY = (the mouseV - sprite(1).top) * 2 / gVariable / 2
- myShape = rect(0, 0, 0, 0)
- myStartImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- repeat while the mouseDown
- myCurrentImage.copyPixels(myStartImage, myStartImage.rect, myStartImage.rect)
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect(startX + 1, startY + 1, (the mouseH - sprite(1).left) * 2 / gVariable / 2, (the mouseV - sprite(1).top) * 2 / gVariable / 2)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) < startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) >= startX) then
- myShape = rect(startX, startY + 1, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, (the mouseV - sprite(1).top) * 2 / gVariable / 2)
- else
- if (((the mouseV - sprite(1).top) * 2 / gVariable / 2) >= startY) and (((the mouseH - sprite(1).left) * 2 / gVariable / 2) < startX) then
- myShape = rect(startX + 1, startY, (the mouseH - sprite(1).left) * 2 / gVariable / 2, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- if ((the mouseV - sprite(1).top) * 2 / gVariable / 2) = startY then
- myShape = rect(startX, startY + 1, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, (the mouseV - sprite(1).top) * 2 / gVariable / 2)
- else
- if ((the mouseH - sprite(1).left) * 2 / gVariable / 2) = startX then
- myShape = rect(startX + 1, startY, (the mouseH - sprite(1).left) * 2 / gVariable / 2, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- else
- myShape = rect(startX, startY, ((the mouseH - sprite(1).left) * 2 / gVariable / 2) + 1, ((the mouseV - sprite(1).top) * 2 / gVariable / 2) + 1)
- end if
- end if
- end if
- end if
- end if
- myCurrentImage.draw(myShape, [#shapeType: #line, #lineSize: gLineSize, #color: gFirstColor])
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- put myShape.width.abs into field "dimension status W"
- put myShape.height.abs into field "dimension status H"
- fnUpdatePreview()
- end repeat
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myStartImage = VOID
- myCurrentImage = VOID
- myCurrentPreview = VOID
- put EMPTY into field "dimension status W"
- put EMPTY into field "dimension status H"
- end
-